package com.tt.exception;

import com.tt.common.exception.TtException;
import com.tt.common.page.TtResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理器
 * @author 青青
 */
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler
{
    /**
     * 捕获全局异常
     * @param e
     * @return
     */
    @ExceptionHandler(Exception.class)
    public TtResult error(Exception e)
    {
        e.printStackTrace();
        log.error("全局异常"+e.getMessage());
        return TtResult.build(500,"执行了全局异常",e.getMessage());
    }

    /**
     * 捕获系统内自定义异常
     * @param tt
     * @return
     */
    @ExceptionHandler(TtException.class)
    public TtResult error(TtException tt)
    {
        tt.printStackTrace();
        log.error("自定义异常:{}",tt.getMessage());
        return TtResult.build(500,"自定义异常",tt.getMessage());
    }
}
